import axios from 'axios'

export function request(config, success, failure) {
    //1.创建 axios 实例
    const instance = axios.create({
            timeout: 5000
        })
        //请求拦截
    instance.interceptors.request.use(config => {
            //1.比如 config 中的一些信息不符合服务器的要求
            //2.比如每次发送网络请求时，都希望在页面中显示一个请求的图标
            //3.某些网络请求（比如登录（token）），必须携带一些特殊的信息
            config.data = JSON.stringify(config.data); //数据转化
            config.headers = {
                    // 'Content-Type': 'application/x-www-form-urlencoded' //配置请求头
                    'Content-Type': 'application/json'
                }
                //注意使用token的时候需要引入cookie方法或者用本地local storage等方法，推荐js-cookie
                // const token = getCookie('mytoken'); //取token之前，需要将先拿到的token储存
                // if (token) {
                //     // config.params = { 'token': token };//如果要求携带在参数中
                //     config.headers.token = token; //如果要求携带在请求头中
                // }
            return config;
        }, err => {
            console.log(err);
        })
        //响应拦截
    instance.interceptors.response.use(res => {
        //接收到响应数据并成功后的一些共有的处理，关闭loading等
        return res.data;
    }, err => {
        console.log(err);
    })

    //发送真正的网络请求
    return instance(config);

}